home *** CD-ROM | disk | FTP | other *** search
/ Hot Metal Pro 4.0 / Hot Metal Pro 4.0.iso / HMPTools / VRCreate / data.z / Click - Rotate Forward then Back.beh < prev    next >
Encoding:
Text File  |  1997-06-04  |  1.7 KB  |  67 lines

  1. #VRML V2.0 utf8 - PLATINUM technology, inc. 1997
  2. #ADD_TOUCH_SENSOR
  3.  
  4. DEF $OBJECT_DoorCloseRotate OrientationInterpolator 
  5.    {
  6.    key      [0, 1]
  7.    keyValue [0 1 0 1.5709, 0 1 0 0 ]
  8.    }
  9. DEF $OBJECT_DoorOpenRotate OrientationInterpolator 
  10.    {
  11.    key      [0, 1]
  12.    keyValue [0 1 0 0, 0 1 0 1.5709]
  13.    }
  14. DEF $OBJECT_DoorOpenTimer TimeSensor 
  15.    {
  16.    loop FALSE 
  17.    cycleInterval 1
  18.    }
  19.  
  20. DEF $OBJECT_DoorCloseTimer TimeSensor 
  21.    {
  22.    loop FALSE 
  23.    cycleInterval 1
  24.    }
  25. DEF $OBJECT_DoorOpenClose Script 
  26.    {
  27.    eventIn  SFTime   touched
  28.    field    SFTime   time         0
  29.    field    SFInt32  mode         0
  30.    field    SFTime   delay        1.0
  31.    eventOut SFTime   openStart
  32.    eventOut SFTime   closeStart
  33.    url 
  34.       "vrmlscript:
  35.       function touched (value)
  36.          {
  37.          if (value >= (time+delay))
  38.             {
  39.              time=value+.5;
  40.              mode=mode+1;
  41.              if (mode==1)
  42.                 {
  43.                 openStart=value;
  44.                 }
  45.              if (mode==2)
  46.                 {
  47.                 closeStart=value;
  48.                 mode=0;
  49.                 }
  50.              }
  51.           }
  52.        "
  53.    }
  54.  
  55.  
  56. #route map
  57.  
  58. ROUTE $OBJECTTS.touchTime TO $OBJECT_DoorOpenClose.touched
  59.  
  60. ROUTE $OBJECT_DoorOpenClose.openStart TO $OBJECT_DoorOpenTimer.set_startTime
  61. ROUTE $OBJECT_DoorOpenTimer.fraction_changed TO $OBJECT_DoorOpenRotate.set_fraction
  62. ROUTE $OBJECT_DoorOpenRotate.value_changed TO $OBJECT.set_rotation
  63.  
  64. ROUTE $OBJECT_DoorOpenClose.closeStart TO $OBJECT_DoorCloseTimer.set_startTime
  65. ROUTE $OBJECT_DoorCloseTimer.fraction_changed TO $OBJECT_DoorCloseRotate.set_fraction
  66. ROUTE $OBJECT_DoorCloseRotate.value_changed TO $OBJECT.set_rotation
  67.